{{!
  Copyright (c) HashiCorp, Inc.
  SPDX-License-Identifier: BUSL-1.1
~}}

<td class="is-narrow">
  {{#unless this.task.driverStatus.healthy}}
    <Hds::TooltipButton data-test-icon="unhealthy-driver" @text="{{this.task.driver}} is unhealthy" aria-label="More information">
      <Hds::Icon @name="alert-triangle" @color="warning" />
    </Hds::TooltipButton>
  {{/unless}}
</td>
<td data-test-name class="nowrap">
  <LinkTo
    @route="allocations.allocation.task"
    @models={{array this.task.allocation this.task}}
    class="is-primary"
  >
    {{this.task.name}}
    {{#if this.task.isConnectProxy}}
      <ProxyTag @class="bumper-left" />
    {{/if}}
  </LinkTo>
</td>
<td data-test-state>
  {{this.task.state}}
</td>
<td data-test-message>
  {{#if this.task.events.lastObject.message}}
    {{this.task.events.lastObject.message}}
  {{else}}
    <em>
      No message
    </em>
  {{/if}}
</td>
<td data-test-time>
  {{format-ts this.task.events.lastObject.time}}
</td>
<td data-test-volumes>
  <ul>
    {{#each this.task.task.volumeMounts as |volume|}}
      <li data-test-volume>
        <strong>
          {{volume.volume}}
          :
        </strong>
        {{#if volume.isCSI}}
          <LinkTo
            @route="storage.volumes.volume"
            @model={{concat
              (format-volume-name
                source=volume.source
                isPerAlloc=volume.volumeDeclaration.perAlloc
                volumeExtension=this.task.allocation.volumeExtension)
              "@"
              volume.namespace.id
            }}
          >
          {{format-volume-name
            source=volume.source
            isPerAlloc=volume.volumeDeclaration.perAlloc
            volumeExtension=this.task.allocation.volumeExtension}}
          </LinkTo>
        {{else}}
          {{volume.source}}
        {{/if}}
      </li>
    {{/each}}
  </ul>
</td>
<td data-test-cpu class="is-1 has-text-centered">
  {{#if this.task.isRunning}}
    {{#if (and (not this.cpu) this.fetchStats.isRunning)}}
      ...
    {{else if this.statsError}}
      <span
        class="tooltip text-center"
        role="tooltip"
        aria-label="Couldn't collect stats"
      >
        <Hds::Icon @name="alert-triangle-fill" @color="warning" class="icon-vertical-bump-down" />
      </span>
    {{else}}
      <div
        class="inline-chart is-small tooltip"
        role="tooltip"
        aria-label="{{format-hertz this.cpu.used}}
           /
          {{format-hertz this.taskStats.reservedCPU}}"
      >
        <progress
          class="progress is-info is-small"
          value="{{this.cpu.percent}}"
          max="1"
        >
          {{this.cpu.percent}}
        </progress>
      </div>
    {{/if}}
  {{/if}}
</td>
<td data-test-mem class="is-1 has-text-centered">
  {{#if this.task.isRunning}}
    {{#if (and (not this.memory) this.fetchStats.isRunning)}}
      ...
    {{else if this.statsError}}
      <span
        class="tooltip is-small text-center"
        role="tooltip"
        aria-label="Couldn't collect stats"
      >
        <Hds::Icon @name="alert-triangle-fill" @color="warning" class="icon-vertical-bump-down" />
      </span>
    {{else}}
      <div
        class="inline-chart tooltip"
        role="tooltip"
        aria-label="{{format-bytes this.memory.used}}
           /
          {{format-bytes this.taskStats.reservedMemory start="MiB"}}"
      >
        <progress
          class="progress is-danger is-small"
          value="{{this.memory.percent}}"
          max="1"
        >
          {{this.memory.percent}}
        </progress>
      </div>
    {{/if}}
  {{/if}}
</td>
